mapPares :: (a -> b -> c) -> [(a,b)] -> [c]
mapPares f = map (\par -> (fUncurry f) par)

fUncurry :: (a -> b -> c) -> ((a,b) -> c)
fUncurry f = \(x,y) -> (f x y)

mapDoble :: (a -> b -> c) -> [a] -> [b] -> [c]
mapDoble f l1 l2 = (foldr (\x rec -> (\lista -> case lista of
												[] -> []
												(y:ys) -> (f x y):rec ys)) (const []) l1) l2